
#### 7.2 O modelo mais simples possivel.
library(MASS)
data(Animals)
plot(brain~body,data=Animals)
plot(brain~body,data=Animals, log="xy")
plot(log(brain)~log(body), data=Animals)
Animals[log(Animals$body)>8&log(Animals$brain)<6,]
anim.m2 <- lm(log(brain)~log(body),data=Animals, subset=!(log(Animals$body)>8&log(Animals$brain)<6))
anim.m0 <- lm(log(brain)~1, data=Animals, subset=!(log(Animals$body)>8&log(Animals$brain)<6))
anova(anim.m0,anim.m2)
anova(anim.m2)
summary(anim.m2)
### O anova(anim.m0,anim.m2) compara os dois modelos (no caso o modelo com coef.angular e liner com o modelo constante em y) e o anova(anim.m2) me diz se esse ajuste  significativo em comparao a uma reta constante, nesse caso os dois me retornam a mesma estatistica.
summary(anim.m0)
mean(log(Animals$brain[!(log(Animals$body)>8&log(Animals$brain)<6)]))
sd(log(Animals$brain[!(log(Animals$body)>8&log(Animals$brain)<6)]))
### o summary me da os resultados do ajuste, como  uma reta constante em y, o valor do Intercepto  o valor da mdia dos dados do eixo y, e o sd e o desvio padro dessa mdia.

### Polinonio de Galileu

init.h = c(600, 700, 800, 950, 1100, 1300, 1500)
h.d = c(253, 337, 395, 451, 495, 534, 573)
plot(h.d~init.h)
mod1 = lm(h.d~init.h)
mod2 = update(mod1,.~. +I(init.h^2))
mod3 = update(mod2,.~.+I(init.h^3))
summary(mod1)
summary(mod2)
summary(mod3)
## Valor encontrado de R^2 para os trs modelos :
###mod1=0.9264
###mod2=0.9903
###mod3=0.9994
#### Pela analise do R^2  possivel dizer que o polinomio de terceiro grau se ajusta melhor aos dados.
 
##### 7.2 b - Massa dos bebes
babies = read.table("babies.txt", header = T,na.strings=999)
babies$age[babies$age==99] = NA
babies$height[babies$height==99] = NA
babies$smoke[babies$smoke==9] = NA
babies$smoke <- as.logical(babies$smoke)
babies$parity <- as.logical(babies$parity)
## Eliminando linhas com algum dado faltante
babies <- babies[apply(is.na(babies),1,sum)==0,]
#### Comparando com o primeiro modelo se fazer a massa do bebe por tempo de gestao  melhor do que fazer peso do bebe com as outras variaveis.
babies.co1 = lm(bwt~gestation, data=babies)
summary(babies.co1)
babies.co2= lm(bwt~smoke, data=babies)
summary(babies.co2) 
babies.co3 = lm(bwt~parity, data=babies)
summary(babies.co3)
babies.co4 = lm(bwt~weight, data=babies)
summary(babies.co4) 
# O primeiro modelo  melhor, comparando os valores do R^2
### Analisando a influncia dos outros parametros na primeira funo.
babies.up1 = lm(bwt~gestation, data=babies)
babies.up2 = update(babies.up1,.~. +I(smoke))
anova(babies.up2)
anova(babies.up1,babies.up2)
summary(babies.up1)
summary(babies.up2)
anova(babies.up2,babies.up3)
babies.up3 = update(babies.up2,.~. +I(height)) ###  foi significativo, ento escolho esse modelo.
summary(babies.up3)
anova(babies.up2,babies.up3)
babies.up4 = update(babies.up3,.~. +I(weight)) 
summary(babies.up4)
anova(babies.up3,babies.up4)
### O modelo 4 que  a massa do bebe por gestao + fumo + altura da me + peso da me e  o melhor modelo.
